package overloadingoverriding;

import java.io.IOException;
import java.util.Stack;

public class SubFoo extends BaseFoo {

	int sameNameSameType;

	char sameNameDiffType;

	public SubFoo(final int id) {
		super(id);
	}

	@Override
	protected Stack<String> returnSubType() {
		return new Stack<String>();
	}

	@Override
	protected void throwSameException() throws Exception {
	}

	@Override
	protected void throwSubException() throws IOException {
	}

	@Override
	protected void throwNoException() {
	}

	// @Override : Compile time error
	// This is sheer overloading
	protected void paramOrder(final String a, final int b) {
	}
}
